home *** CD-ROM | disk | FTP | other *** search
- /*
- File: Drag.h
-
- Contains: Drag and Drop Interfaces.
-
- Version: Technology: System 7.5
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __DRAG__
- #define __DRAG__
-
- #ifndef __SCRAP__
- #include <Scrap.h>
- #endif
- #ifndef __APPLEEVENTS__
- #include <AppleEvents.h>
- #endif
- #ifndef __QUICKDRAW__
- #include <Quickdraw.h>
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- #ifndef __TEXTEDIT__
- #include <TextEdit.h>
- #endif
- #ifndef __FILES__
- #include <Files.h>
- #endif
- #ifndef __EVENTS__
- #include <Events.h>
- #endif
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
- /*
- _________________________________________________________________________________________________________
-
- • DRAG MANAGER DATA TYPES
- Currently there are two data types representing a drag in this interface file; ScrapRef and
- DragReference. It is safe to assume:
- ScrapRef == DragReference
- The two types can be used interchangably throughout the Drag interface file. ScrapRef is the
- new System 8 Drag Manager data type. API's that are deprecated for System 8 will always
- take a DragReference as their parameter.
- For now though, use them interchangably.
- _________________________________________________________________________________________________________
- */
- typedef ScrapRef DragReference;
- typedef ScrapRef DragScrapRef;
- typedef ScrapItemUserReference ItemReference;
- typedef ScrapItemType FlavorType;
- /*
- _________________________________________________________________________________________________________
-
- • DRAG ATTRIBUTES
- _________________________________________________________________________________________________________
- */
- typedef OptionBits DragAttributes;
-
- enum {
- kDragHasLeftSenderWindow = (1L << 0), /* drag has left the source window since TrackDrag*/
- kDragInsideSenderApplication = (1L << 1), /* drag is occurring within the sender application*/
- kDragInsideSenderWindow = (1L << 2) /* drag is occurring within the sender window*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- • DRAG IMAGE FLAGS
- _________________________________________________________________________________________________________
- */
- typedef OptionBits DragImageFlags;
-
- enum {
- kDragRegionAndImage = (1L << 4) /* drag region and image*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- • DRAG IMAGE TRANSLUCENCY LEVELS
- _________________________________________________________________________________________________________
- */
- typedef UInt32 DragImageTranslucency;
-
- enum {
- kDragStandardTranslucency = 0L, /* 65% image translucency (standard)*/
- kDragDarkTranslucency = 1L, /* 50% image translucency*/
- kDragDarkerTranslucency = 2L, /* 25% image translucency*/
- kDragOpaqueTranslucency = 3L /* 0% image translucency (opaque)*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- • DRAG DRAWING PROCEDURE MESSAGES
- _________________________________________________________________________________________________________
- */
- typedef SInt16 DragRegionMessage;
-
- enum {
- kDragRegionBegin = 1, /* initialize drawing*/
- kDragRegionDraw = 2, /* draw drag feedback*/
- kDragRegionHide = 3, /* hide drag feedback*/
- kDragRegionIdle = 4, /* drag feedback idle time*/
- kDragRegionEnd = 5 /* end of drawing*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- • ZOOM ACCELERATION
- _________________________________________________________________________________________________________
- */
- typedef SInt16 ZoomAcceleration;
-
- enum {
- kZoomNoAcceleration = 0, /* use linear interpolation*/
- kZoomAccelerate = 1, /* ramp up step size*/
- kZoomDecelerate = 2 /* ramp down step size*/
- };
-
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- /*
- _________________________________________________________________________________________________________
-
- • FLAVOR FLAGS
- _________________________________________________________________________________________________________
- */
- typedef OptionBits FlavorFlags;
-
- enum {
- flavorSenderOnly = (1 << 0), /* flavor is available to sender only*/
- flavorSenderTranslated = (1 << 1), /* flavor is translated by sender*/
- flavorNotSaved = (1 << 2), /* flavor should not be saved*/
- flavorSystemTranslated = (1 << 8) /* flavor is translated by system*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- • SPECIAL FLAVORS
- _________________________________________________________________________________________________________
- */
-
- enum {
- flavorTypeHFS = 'hfs ', /* flavor type for HFS data*/
- flavorTypePromiseHFS = 'phfs', /* flavor type for promised HFS data*/
- flavorTypeDirectory = 'diry' /* flavor type for AOCE directories*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- • DRAG TRACKING HANDLER MESSAGES
- _________________________________________________________________________________________________________
- */
- typedef SInt16 DragTrackingMessage;
-
- enum {
- kDragTrackingEnterHandler = 1, /* drag has entered handler*/
- kDragTrackingEnterWindow = 2, /* drag has entered window*/
- kDragTrackingInWindow = 3, /* drag is moving within window*/
- kDragTrackingLeaveWindow = 4, /* drag has exited window*/
- kDragTrackingLeaveHandler = 5 /* drag has exited handler*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- • HFS FLAVORS
- _________________________________________________________________________________________________________
- */
- struct HFSFlavor {
- OSType fileType; /* file type */
- OSType fileCreator; /* file creator */
- UInt16 fdFlags; /* Finder flags */
- FSSpec fileSpec; /* file system specification */
- };
- typedef struct HFSFlavor HFSFlavor;
-
- struct PromiseHFSFlavor {
- OSType fileType; /* file type */
- OSType fileCreator; /* file creator */
- UInt16 fdFlags; /* Finder flags */
- FlavorType promisedFlavor; /* promised flavor containing an FSSpec */
- };
- typedef struct PromiseHFSFlavor PromiseHFSFlavor;
-
- /*
- _________________________________________________________________________________________________________
-
- • APPLICATION-DEFINED DRAG HANDLER ROUTINES
- _________________________________________________________________________________________________________
- */
- typedef pascal OSErr (*DragTrackingHandlerProcPtr)(DragTrackingMessage message, WindowPtr theWindow, void *handlerRefCon, DragReference theDrag);
-
- #if GENERATINGCFM
- typedef UniversalProcPtr DragTrackingHandlerUPP;
- #else
- typedef DragTrackingHandlerProcPtr DragTrackingHandlerUPP;
- #endif
-
- enum {
- uppDragTrackingHandlerProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DragTrackingMessage)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowPtr)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(DragReference)))
- };
-
- #if GENERATINGCFM
- #define NewDragTrackingHandlerProc(userRoutine) \
- (DragTrackingHandlerUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragTrackingHandlerProcInfo, GetCurrentArchitecture())
- #else
- #define NewDragTrackingHandlerProc(userRoutine) \
- ((DragTrackingHandlerUPP) (userRoutine))
- #endif
-
- #if GENERATINGCFM
- #define CallDragTrackingHandlerProc(userRoutine, message, theWindow, handlerRefCon, theDrag) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppDragTrackingHandlerProcInfo, (message), (theWindow), (handlerRefCon), (theDrag))
- #else
- #define CallDragTrackingHandlerProc(userRoutine, message, theWindow, handlerRefCon, theDrag) \
- (*(userRoutine))((message), (theWindow), (handlerRefCon), (theDrag))
- #endif
- typedef pascal OSErr (*DragReceiveHandlerProcPtr)(WindowPtr theWindow, void *handlerRefCon, DragReference theDrag);
-
- #if GENERATINGCFM
- typedef UniversalProcPtr DragReceiveHandlerUPP;
- #else
- typedef DragReceiveHandlerProcPtr DragReceiveHandlerUPP;
- #endif
-
- enum {
- uppDragReceiveHandlerProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(WindowPtr)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void *)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(DragReference)))
- };
-
- #if GENERATINGCFM
- #define NewDragReceiveHandlerProc(userRoutine) \
- (DragReceiveHandlerUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragReceiveHandlerProcInfo, GetCurrentArchitecture())
- #else
- #define NewDragReceiveHandlerProc(userRoutine) \
- ((DragReceiveHandlerUPP) (userRoutine))
- #endif
-
- #if GENERATINGCFM
- #define CallDragReceiveHandlerProc(userRoutine, theWindow, handlerRefCon, theDrag) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppDragReceiveHandlerProcInfo, (theWindow), (handlerRefCon), (theDrag))
- #else
- #define CallDragReceiveHandlerProc(userRoutine, theWindow, handlerRefCon, theDrag) \
- (*(userRoutine))((theWindow), (handlerRefCon), (theDrag))
- #endif
- /*
- _________________________________________________________________________________________________________
-
- • APPLICATION-DEFINED ROUTINES
- _________________________________________________________________________________________________________
- */
- typedef pascal OSErr (*DragSendDataProcPtr)(FlavorType theType, void *dragSendRefCon, ItemReference theItemRef, DragReference theDrag);
-
- #if GENERATINGCFM
- typedef UniversalProcPtr DragSendDataUPP;
- #else
- typedef DragSendDataProcPtr DragSendDataUPP;
- #endif
-
- enum {
- uppDragSendDataProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(FlavorType)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void *)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ItemReference)))
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(DragReference)))
- };
-
- #if GENERATINGCFM
- #define NewDragSendDataProc(userRoutine) \
- (DragSendDataUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragSendDataProcInfo, GetCurrentArchitecture())
- #else
- #define NewDragSendDataProc(userRoutine) \
- ((DragSendDataUPP) (userRoutine))
- #endif
-
- #if GENERATINGCFM
- #define CallDragSendDataProc(userRoutine, theType, dragSendRefCon, theItemRef, theDrag) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppDragSendDataProcInfo, (theType), (dragSendRefCon), (theItemRef), (theDrag))
- #else
- #define CallDragSendDataProc(userRoutine, theType, dragSendRefCon, theItemRef, theDrag) \
- (*(userRoutine))((theType), (dragSendRefCon), (theItemRef), (theDrag))
- #endif
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- typedef pascal OSErr (*DragInputProcPtr)(Point *mouse, SInt16 *modifiers, void *dragInputRefCon, ScrapRef theDrag);
-
- #if GENERATINGCFM
- typedef UniversalProcPtr DragInputUPP;
- #else
- typedef DragInputProcPtr DragInputUPP;
- #endif
-
- enum {
- uppDragInputProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Point *)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(SInt16 *)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(ScrapRef)))
- };
-
- #if GENERATINGCFM
- #define NewDragInputProc(userRoutine) \
- (DragInputUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragInputProcInfo, GetCurrentArchitecture())
- #else
- #define NewDragInputProc(userRoutine) \
- ((DragInputUPP) (userRoutine))
- #endif
-
- #if GENERATINGCFM
- #define CallDragInputProc(userRoutine, mouse, modifiers, dragInputRefCon, theDrag) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppDragInputProcInfo, (mouse), (modifiers), (dragInputRefCon), (theDrag))
- #else
- #define CallDragInputProc(userRoutine, mouse, modifiers, dragInputRefCon, theDrag) \
- (*(userRoutine))((mouse), (modifiers), (dragInputRefCon), (theDrag))
- #endif
- typedef pascal OSErr (*DragDrawingProcPtr)(DragRegionMessage message, RgnHandle showRegion, Point showOrigin, RgnHandle hideRegion, Point hideOrigin, void *dragDrawingRefCon, ScrapRef theDrag);
-
- #if GENERATINGCFM
- typedef UniversalProcPtr DragDrawingUPP;
- #else
- typedef DragDrawingProcPtr DragDrawingUPP;
- #endif
-
- enum {
- uppDragDrawingProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DragRegionMessage)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(RgnHandle)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Point)))
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(RgnHandle)))
- | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(Point)))
- | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(void *)))
- | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(ScrapRef)))
- };
-
- #if GENERATINGCFM
- #define NewDragDrawingProc(userRoutine) \
- (DragDrawingUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragDrawingProcInfo, GetCurrentArchitecture())
- #else
- #define NewDragDrawingProc(userRoutine) \
- ((DragDrawingUPP) (userRoutine))
- #endif
-
- #if GENERATINGCFM
- #define CallDragDrawingProc(userRoutine, message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppDragDrawingProcInfo, (message), (showRegion), (showOrigin), (hideRegion), (hideOrigin), (dragDrawingRefCon), (theDrag))
- #else
- #define CallDragDrawingProc(userRoutine, message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag) \
- (*(userRoutine))((message), (showRegion), (showOrigin), (hideRegion), (hideOrigin), (dragDrawingRefCon), (theDrag))
- #endif
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- /*
- _________________________________________________________________________________________________________
-
- • INSTALLING AND REMOVING HANDLERS API'S
- _________________________________________________________________________________________________________
- */
- extern pascal OSErr InstallTrackingHandler(DragTrackingHandlerUPP trackingHandler, WindowPtr theWindow, void *handlerRefCon)
- TWOWORDINLINE(0x7001, 0xABED);
-
- extern pascal OSErr InstallReceiveHandler(DragReceiveHandlerUPP receiveHandler, WindowPtr theWindow, void *handlerRefCon)
- TWOWORDINLINE(0x7002, 0xABED);
-
- extern pascal OSErr RemoveTrackingHandler(DragTrackingHandlerUPP trackingHandler, WindowPtr theWindow)
- TWOWORDINLINE(0x7003, 0xABED);
-
- extern pascal OSErr RemoveReceiveHandler(DragReceiveHandlerUPP receiveHandler, WindowPtr theWindow)
- TWOWORDINLINE(0x7004, 0xABED);
-
- /*
- _________________________________________________________________________________________________________
-
- • CREATING & DISPOSING
- _________________________________________________________________________________________________________
- */
- extern pascal OSErr NewDrag(DragReference *theDrag)
- TWOWORDINLINE(0x7005, 0xABED);
-
- extern pascal OSErr DisposeDrag(DragReference theDrag)
- TWOWORDINLINE(0x7006, 0xABED);
-
- /*
- _________________________________________________________________________________________________________
-
- • ADDING DRAG ITEM FLAVORS
- _________________________________________________________________________________________________________
- */
- extern pascal OSErr AddDragItemFlavor(DragReference theDrag, ItemReference theItemRef, FlavorType theType, const void *dataPtr, Size dataSize, FlavorFlags theFlags)
- TWOWORDINLINE(0x7007, 0xABED);
-
- extern pascal OSErr SetDragItemFlavorData(DragReference theDrag, ItemReference theItemRef, FlavorType theType, const void *dataPtr, Size dataSize, UInt32 dataOffset)
- TWOWORDINLINE(0x7009, 0xABED);
-
- /*
- _________________________________________________________________________________________________________
-
- • PROVIDING CALLBACK PROCEDURES
- _________________________________________________________________________________________________________
- */
- extern pascal OSErr SetDragSendProc(DragReference theDrag, DragSendDataUPP sendProc, void *dragSendRefCon)
- TWOWORDINLINE(0x700A, 0xABED);
-
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- extern pascal OSErr SetDragInputProc(ScrapRef theDrag, DragInputUPP inputProc, void *dragInputRefCon)
- TWOWORDINLINE(0x700B, 0xABED);
-
- extern pascal OSErr SetDragDrawingProc(ScrapRef theDrag, DragDrawingUPP drawingProc, void *dragDrawingRefCon)
- TWOWORDINLINE(0x700C, 0xABED);
-
- /*
- _________________________________________________________________________________________________________
-
- • SETTING THE DRAG IMAGE
- _________________________________________________________________________________________________________
- */
- extern OSStatus SetDragImage(ScrapRef theDrag, PixMapHandle imagePixMap, RgnHandle imageRgn, Point imageOffsetPt, DragImageFlags theImageFlags)
- TWOWORDINLINE(0x7027, 0xABED);
-
- #endif
- #if FOR_SYSTEM8_COOPERATIVE
- /*
- _________________________________________________________________________________________________________
-
- • SETTING THE DRAG IMAGE TRANSLUCENCY LEVEL
- _________________________________________________________________________________________________________
- */
- extern OSStatus SetDragImageTranslucency(ScrapRef theDrag, DragImageTranslucency newLevel);
-
- /*
- _________________________________________________________________________________________________________
-
- • PERFORMING A DRAG
- _________________________________________________________________________________________________________
- */
- extern OSStatus TrackAEDrag(ScrapRef theDrag, AppleEvent *theEvent, RgnHandle theRegion);
-
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- extern pascal OSErr TrackDrag(DragReference theDrag, const EventRecord *theEvent, RgnHandle theRegion)
- TWOWORDINLINE(0x700D, 0xABED);
-
- /*
- _________________________________________________________________________________________________________
-
- • GETTING DRAG ITEM INFORMATION
- _________________________________________________________________________________________________________
- */
- extern pascal OSErr CountDragItems(DragReference theDrag, UInt16 *numItems)
- TWOWORDINLINE(0x700E, 0xABED);
-
- extern pascal OSErr GetDragItemReferenceNumber(DragReference theDrag, UInt16 index, ItemReference *theItemRef)
- TWOWORDINLINE(0x700F, 0xABED);
-
- extern pascal OSErr CountDragItemFlavors(DragReference theDrag, ItemReference theItemRef, UInt16 *numFlavors)
- TWOWORDINLINE(0x7010, 0xABED);
-
- extern pascal OSErr GetFlavorType(DragReference theDrag, ItemReference theItemRef, UInt16 index, FlavorType *theType)
- TWOWORDINLINE(0x7011, 0xABED);
-
- extern pascal OSErr GetFlavorFlags(DragReference theDrag, ItemReference theItemRef, FlavorType theType, FlavorFlags *theFlags)
- TWOWORDINLINE(0x7012, 0xABED);
-
- extern pascal OSErr GetFlavorDataSize(DragReference theDrag, ItemReference theItemRef, FlavorType theType, Size *dataSize)
- TWOWORDINLINE(0x7013, 0xABED);
-
- extern pascal OSErr GetFlavorData(DragReference theDrag, ItemReference theItemRef, FlavorType theType, void *dataPtr, Size *dataSize, UInt32 dataOffset)
- TWOWORDINLINE(0x7014, 0xABED);
-
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- /*
- _________________________________________________________________________________________________________
-
- • DRAG ITEM BOUNDS
- _________________________________________________________________________________________________________
- */
- extern pascal OSErr GetDragItemBounds(ScrapRef theDrag, ItemReference theItemRef, Rect *itemBounds)
- TWOWORDINLINE(0x7015, 0xABED);
-
- extern pascal OSErr SetDragItemBounds(ScrapRef theDrag, ItemReference theItemRef, const Rect *itemBounds)
- TWOWORDINLINE(0x7016, 0xABED);
-
- /*
- _________________________________________________________________________________________________________
-
- • DROP LOCATIONS
- _________________________________________________________________________________________________________
- */
- extern pascal OSErr GetDropLocation(ScrapRef theDrag, AEDesc *dropLocation)
- TWOWORDINLINE(0x7017, 0xABED);
-
- extern pascal OSErr SetDropLocation(ScrapRef theDrag, const AEDesc *dropLocation)
- TWOWORDINLINE(0x7018, 0xABED);
-
- /*
- _________________________________________________________________________________________________________
-
- • GETTING INFORMATION ABOUT A DRAG
- _________________________________________________________________________________________________________
- */
- extern pascal OSErr GetDragAttributes(ScrapRef theDrag, DragAttributes *flags)
- TWOWORDINLINE(0x7019, 0xABED);
-
- extern pascal OSErr GetDragMouse(ScrapRef theDrag, Point *mouse, Point *globalPinnedMouse)
- TWOWORDINLINE(0x701A, 0xABED);
-
- extern pascal OSErr SetDragMouse(ScrapRef theDrag, Point globalPinnedMouse)
- TWOWORDINLINE(0x701B, 0xABED);
-
- extern pascal OSErr GetDragOrigin(ScrapRef theDrag, Point *globalInitialMouse)
- TWOWORDINLINE(0x701C, 0xABED);
-
- extern pascal OSErr GetDragModifiers(ScrapRef theDrag, SInt16 *modifiers, SInt16 *mouseDownModifiers, SInt16 *mouseUpModifiers)
- TWOWORDINLINE(0x701D, 0xABED);
-
- /*
- _________________________________________________________________________________________________________
-
- • DRAG HIGHLIGHTING
- _________________________________________________________________________________________________________
- */
- extern pascal OSErr ShowDragHilite(ScrapRef theDrag, RgnHandle hiliteFrame, Boolean inside)
- TWOWORDINLINE(0x701E, 0xABED);
-
- extern pascal OSErr HideDragHilite(ScrapRef theDrag)
- TWOWORDINLINE(0x701F, 0xABED);
-
- extern pascal OSErr DragPreScroll(ScrapRef theDrag, SInt16 dH, SInt16 dV)
- TWOWORDINLINE(0x7020, 0xABED);
-
- extern pascal OSErr DragPostScroll(ScrapRef theDrag)
- TWOWORDINLINE(0x7021, 0xABED);
-
- extern pascal OSErr UpdateDragHilite(ScrapRef theDrag, RgnHandle updateRgn)
- TWOWORDINLINE(0x7022, 0xABED);
-
- #endif
- /*
- _________________________________________________________________________________________________________
-
- • UTILITIES
- _________________________________________________________________________________________________________
- */
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- extern pascal Boolean WaitMouseMoved(Point initialMouse)
- TWOWORDINLINE(0x7023, 0xABED);
-
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- extern pascal OSErr ZoomRects(const Rect *fromRect, const Rect *toRect, SInt16 zoomSteps, ZoomAcceleration acceleration)
- TWOWORDINLINE(0x7024, 0xABED);
-
- extern pascal OSErr ZoomRegion(RgnHandle region, Point zoomDistance, SInt16 zoomSteps, ZoomAcceleration acceleration)
- TWOWORDINLINE(0x7025, 0xABED);
-
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- /*
- _________________________________________________________________________________________________________
- • OLD NAMES
- These are provided for compatiblity with older source bases. It is recommended to not use them since
- they may removed from this interface file at any time.
- _________________________________________________________________________________________________________
- */
-
- enum {
- dragHasLeftSenderWindow = kDragHasLeftSenderWindow, /* drag has left the source window since TrackDrag */
- dragInsideSenderApplication = kDragInsideSenderApplication, /* drag is occurring within the sender application */
- dragInsideSenderWindow = kDragInsideSenderWindow /* drag is occurring within the sender window */
- };
-
-
- enum {
- dragTrackingEnterHandler = kDragTrackingEnterHandler, /* drag has entered handler */
- dragTrackingEnterWindow = kDragTrackingEnterWindow, /* drag has entered window */
- dragTrackingInWindow = kDragTrackingInWindow, /* drag is moving within window */
- dragTrackingLeaveWindow = kDragTrackingLeaveWindow, /* drag has exited window */
- dragTrackingLeaveHandler = kDragTrackingLeaveHandler /* drag has exited handler */
- };
-
-
- enum {
- dragRegionBegin = kDragRegionBegin, /* initialize drawing */
- dragRegionDraw = kDragRegionDraw, /* draw drag feedback */
- dragRegionHide = kDragRegionHide, /* hide drag feedback */
- dragRegionIdle = kDragRegionIdle, /* drag feedback idle time */
- dragRegionEnd = kDragRegionEnd /* end of drawing */
- };
-
-
- enum {
- zoomNoAcceleration = kZoomNoAcceleration, /* use linear interpolation */
- zoomAccelerate = kZoomAccelerate, /* ramp up step size */
- zoomDecelerate = kZoomDecelerate /* ramp down step size */
- };
-
-
- enum {
- kDragStandardImage = kDragStandardTranslucency, /* 65% image translucency (standard)*/
- kDragDarkImage = kDragDarkTranslucency, /* 50% image translucency*/
- kDragDarkerImage = kDragDarkerTranslucency, /* 25% image translucency*/
- kDragOpaqueImage = kDragOpaqueTranslucency /* 0% image translucency (opaque)*/
- };
-
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __DRAG__ */
-
-